﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;

namespace EasyTrader.Form
{
    public partial class HogaSignalSettings : System.Windows.Forms.Form
    {
        public HogaSignalSettings()
        {
            InitializeComponent();
            InitControl();
        }

        private void InitControl()
        {
            int selectedIndex = comboBuySellBeginRefRange.FindString(GlobalVar.BuySellBeginRefRange.ToString());
            comboBuySellBeginRefRange.SelectedIndex = selectedIndex;

            selectedIndex = comboBuySellRefRange.FindString(GlobalVar.BuySellRefRange.ToString());
            comboBuySellRefRange.SelectedIndex = selectedIndex;

            selectedIndex = comboMinHogaSignalHeight.FindString(GlobalVar.MinHogaSignalHeight.ToString());
            comboMinHogaSignalHeight.SelectedIndex = selectedIndex;

            selectedIndex = comboMinHogaLimit.FindString(GlobalVar.MinHogaLimit.ToString());
            comboMinHogaLimit.SelectedIndex = selectedIndex;

            selectedIndex = comboMinHogaAngle.FindString(GlobalVar.MinHogaAngle.ToString());
            comboMinHogaAngle.SelectedIndex = selectedIndex;

            selectedIndex = comboHogaValRefRange.FindString(GlobalVar.HogaValRefRange.ToString());
            comboHogaValRefRange.SelectedIndex = selectedIndex;

            selectedIndex = comboMinTimeOcc.FindString(GlobalVar.MinTimeOcc.ToString());
            comboMinTimeOcc.SelectedIndex = selectedIndex;

            selectedIndex = comboMinSquareOcc.FindString(GlobalVar.MinSquareOcc.ToString());
            comboMinSquareOcc.SelectedIndex = selectedIndex;

            selectedIndex = comboMaxSquareOcc.FindString(GlobalVar.MaxSquareOcc.ToString());
            comboMaxSquareOcc.SelectedIndex = selectedIndex;

            selectedIndex = comboHogaSignalRefRange.FindString(GlobalVar.HogaSignalRefRange.ToString());
            comboHogaSignalRefRange.SelectedIndex = selectedIndex;

            selectedIndex = comboMinHogaSignalRegHeight.FindString(GlobalVar.MinHogaSignalRegHeight.ToString());
            comboMinHogaSignalRegHeight.SelectedIndex = selectedIndex;

            selectedIndex = comboMinHogaFirstMinHeight.FindString(GlobalVar.MinHogaFirstMinHeight.ToString());
            comboMinHogaFirstMinHeight.SelectedIndex = selectedIndex;

            textBoxMaxHogaLiquidLimit.Text = GlobalVar.MaxHogaLiquidLimit.ToString();
            textBoxMinHogaLiquidLimit.Text = GlobalVar.MinHogaLiquidLimit.ToString();
        }

        private void comboBuySellBeginRefRange_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboBuySellBeginRefRange.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.BuySellBeginRefRange = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("BuySellBeginRefRange", GlobalVar.BuySellBeginRefRange.ToString());
        }

        private void comboBuySellRefRange_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboBuySellRefRange.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.BuySellRefRange = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("BuySellRefRange", GlobalVar.BuySellRefRange.ToString());
        }

        private void comboMinHogaSignalHeight_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMinHogaSignalHeight.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MinHogaSignalHeight = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinHogaSignalHeight", GlobalVar.MinHogaSignalHeight.ToString());
        }

        private void comboMinHogaLimit_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMinHogaLimit.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MinHogaLimit = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinHogaLimit", GlobalVar.MinHogaLimit.ToString());
        }

        private void comboMinHogaAngle_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMinHogaAngle.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MinHogaAngle = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinHogaAngle", GlobalVar.MinHogaAngle.ToString());
        }

        private void comboHogaValRefRange_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboHogaValRefRange.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.HogaValRefRange = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("HogaValRefRange", GlobalVar.HogaValRefRange.ToString());
        }

        private void comboMinTimeOcc_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMinTimeOcc.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MinTimeOcc = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinTimeOcc", GlobalVar.MinTimeOcc.ToString());
        }

        private void comboMinSquareOcc_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMinSquareOcc.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MinSquareOcc = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinSquareOcc", GlobalVar.MinSquareOcc.ToString());
        }

        private void textBoxMaxHogaLiquidLimit_TextChanged(object sender, EventArgs e)
        {
            string selText = textBoxMaxHogaLiquidLimit.Text;
            if (selText == "")
                return;
            GlobalVar.MaxHogaLiquidLimit = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MaxHogaLiquidLimit", GlobalVar.MaxHogaLiquidLimit.ToString());
        }

        private void textBoxMinHogaLiquidLimit_TextChanged(object sender, EventArgs e)
        {
            string selText = textBoxMinHogaLiquidLimit.Text;
            if (selText == "")
                return;
            GlobalVar.MinHogaLiquidLimit = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinHogaLiquidLimit", GlobalVar.MinHogaLiquidLimit.ToString());
        }

        private void comboHogaSignalRefRange_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboHogaSignalRefRange.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.HogaSignalRefRange = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("HogaSignalRefRange", GlobalVar.HogaSignalRefRange.ToString());
        }

        private void comboMinHogaSignalRegHeight_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMinHogaSignalRegHeight.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MinHogaSignalRegHeight = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinHogaSignalRegHeight", GlobalVar.MinHogaSignalRegHeight.ToString());
        }

        private void comboMinHogaFirstMinHeight_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMinHogaFirstMinHeight.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MinHogaFirstMinHeight = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MinHogaFirstMinHeight", GlobalVar.MinHogaFirstMinHeight.ToString());
        }

        private void comboMaxSquareOcc_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboMaxSquareOcc.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.MaxSquareOcc = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\HogaSignal";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("MaxSquareOcc", GlobalVar.MaxSquareOcc.ToString());
        }
    }
}
